home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
bbs
/
mfm_111b.zip
/
VIEWFILE.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1992-01-07
|
5KB
|
143 lines
{========================================================================}
Procedure ViewFile;
Var
Ext : String[3];
ReturnCode : Integer;
PathToUtility : PathStr;
Begin
If ReDirectTo = Console Then
Begin
If CurrentEntry^.TypeOfRecord In [FileRecord,Orphan] Then
Begin
If Pos('.',CurrentEntry^.FileName) > 0 Then
Begin
Ext := Copy(CurrentEntry^.FileName,Pos('.',CurrentEntry^.FileName)+1,
Length(CurrentEntry^.FileName)-Pos('.',CurrentEntry^.FileName));
AnsiClearScreen;
SetMemTop(HeapPtr);
SwapVectors;
If Pos(Ext,'ARCARJLZHPAKZIPZOO') In [1,4,7,10,13,16] Then
Begin
Write('Loading SHEZ...');
PathToUtility := FSearch('SHEZ.EXE',GetEnv('PATH'));
Exec(FExpand(PathToUtility),FileAreaPath+CurrentEntry^.FileName);
End
Else
Begin
Write('Loading LIST...');
PathToUtility := FSearch('LIST.COM',GetEnv('PATH'));
If PathToUtility = '' Then
Begin
PathToUtility := FSearch('L.COM',GetEnv('PATH'));
End;
Exec(FExpand(PathToUtility),FileAreaPath+CurrentEntry^.FileName);
End;
SwapVectors;
SetMemTop(HeapEnd);
SetupScreen; DisplayScreen;
End;
End;
End;
End;
{========================================================================}
Procedure CallShez;
Var
ReturnCode : Integer;
PathToUtility : PathStr;
Begin
If ReDirectTo = Console Then
Begin
If CurrentEntry^.TypeOfRecord In [FileRecord,Orphan] Then
Begin
If Length(CurrentEntry^.FileName) > 0 Then
Begin
AnsiClearScreen;
SetMemTop(HeapPtr);
Write('Loading SHEZ...');
SwapVectors;
PathToUtility := FSearch('SHEZ.EXE',GetEnv('PATH'));
If Pos('.',CurrentEntry^.FileName) = 0 Then
Begin
Exec(FExpand(PathToUtility),FileAreaPath+CurrentEntry^.FileName+'.*');
End
Else
Begin
Exec(FExpand(PathToUtility),FileAreaPath+CurrentEntry^.FileName);
End;
SwapVectors;
SetMemTop(HeapEnd);
SetupScreen; DisplayScreen;
End;
End;
End;
End;
{========================================================================}
Procedure CallList;
Var
ReturnCode : Integer;
PathToUtility : PathStr;
Begin
If ReDirectTo = Console Then
Begin
If CurrentEntry^.TypeOfRecord In [FileRecord,Orphan] Then
Begin
If Length(CurrentEntry^.FileName) > 0 Then
Begin
AnsiClearScreen;
SetMemTop(HeapPtr);
Write('Loading LIST...');
SwapVectors;
PathToUtility := FSearch('LIST.COM',GetEnv('PATH'));
If PathToUtility = '' Then
Begin
PathToUtility := FSearch('L.COM',GetEnv('PATH'));
End;
Exec(FExpand(PathToUtility),FileAreaPath+CurrentEntry^.FileName);
SwapVectors;
SetMemTop(HeapEnd);
SetupScreen; DisplayScreen;
End;
End;
End;
End;
{========================================================================}
Procedure CallVpic;
Var
ReturnCode : Integer;
PathToUtility : PathStr;
Begin
If ReDirectTo = Console Then
Begin
If CurrentEntry^.TypeOfRecord In [FileRecord,Orphan] Then
Begin
If Length(CurrentEntry^.FileName) > 0 Then
Begin
AnsiClearScreen;
SetMemTop(HeapPtr);
Write('Loading VPIC...');
SwapVectors;
PathToUtility := FSearch('VPIC.EXE',GetEnv('PATH'));
Exec(FExpand(PathToUtility),FileAreaPath+CurrentEntry^.FileName);
SwapVectors;
SetMemTop(HeapEnd);
SetupScreen; DisplayScreen;
End;
End;
End;
End;
{========================================================================}
Procedure ShellToDos;
Var
ReturnCode : Integer;
Begin
AnsiClearScreen;
SetMemTop(HeapPtr);
WriteLn('Type EXIT to return...');
SwapVectors;
Exec(GetEnv('COMSPEC'), '');
SwapVectors;
SetMemTop(HeapEnd);
SetupScreen; DisplayScreen;
End;
{========================================================================}